Link Attributes

Hi

I've come across an example in a whitepaper where the authors have used link attributes to categorize individual links between objects. (its ISBN 0-7695-2425-7/05 if you have an IEEE account)

Basically they have created a series of 'meta-modules' in DOORS that holds the information so that they can spawn customized instantiations of formal requirement modules for each of their differing customers. If you look hard enough you'll find that many have tried to implement a 'product-line approach' within DOORS.

They are using link attributes to categorize the relationships between links within the same module.

My question comes from the fact that I have never used link attributes before, there isn't even any info in the DOORS User Guide about them.

Is the use of link attributes advisable practice?

What pitfalls could I encounter using link attributes?

Cheers
pd
Peter.Dawson - Mon Apr 12 03:35:09 EDT 2010

Re: Link Attributes
Mathias Mamsch - Mon Apr 12 11:46:57 EDT 2010

The good side of link attributes is, they behave exactly like normal attributes, except you define the attributes in the link module instead of the formal module. You can set access rights on the link attributes just like on the normal attributes, and you can even allow people to edit the attributes, but not create or delete a link.

You need to keep in mind, that link attributes are specific for all links going through one special link module. In a situation where one link module contains linksets for a lot of modules, all outlinks using this link module will have the attributes.

A problem with link attributes is, that they are not very well integrated in the module editor. To see the values of link attributes you can launch the DXL wizard, with special settings (specify a link module) to get the values shown in the normal mode. Editing the link attributes is even more complicated. You need to go to the "edit links" dialog, select the link, click on "Details" then click the correct link attribute, you get a form where you can change the value, you change it, click on ok and then close all the dialogs again. "Suspect Links" are realized by a link attribute (quite a clever concept IMHO).

Another big problem with link attributes might be the tools that operate on the links. Usually every company has its own tools for rerouting their links through another link module, drawing links automatically, etc. All these tools usually don't take into account link attributes, meaning if you delete a link and draw it again, the link might look the same, but the link attributes are gone.

So in my experience:

Link attributes are nearly impossible for normal users to fill, except if you have some scripting support (like context menus, GUIs, menus, etc). Still they are hard to understand for the users (wait, there is an attribute on a link?) who are already struggeling with the complexity of DOORS.

On the other side they are very versatile to be used from a DXL script and enable you to implement a wide set of applications, unless you can guarantee that the rest of the tools that operate on links won't accidently delete links.

Hope that helps, best regards, Mathias

Re: Link Attributes
Peter.Dawson - Mon Apr 12 23:00:29 EDT 2010

Thanks alot!

Re: Link Attributes
SystemAdmin - Tue Apr 13 09:27:18 EDT 2010

Mathias Mamsch - Mon Apr 12 11:46:57 EDT 2010
The good side of link attributes is, they behave exactly like normal attributes, except you define the attributes in the link module instead of the formal module. You can set access rights on the link attributes just like on the normal attributes, and you can even allow people to edit the attributes, but not create or delete a link.

You need to keep in mind, that link attributes are specific for all links going through one special link module. In a situation where one link module contains linksets for a lot of modules, all outlinks using this link module will have the attributes.

A problem with link attributes is, that they are not very well integrated in the module editor. To see the values of link attributes you can launch the DXL wizard, with special settings (specify a link module) to get the values shown in the normal mode. Editing the link attributes is even more complicated. You need to go to the "edit links" dialog, select the link, click on "Details" then click the correct link attribute, you get a form where you can change the value, you change it, click on ok and then close all the dialogs again. "Suspect Links" are realized by a link attribute (quite a clever concept IMHO).

Another big problem with link attributes might be the tools that operate on the links. Usually every company has its own tools for rerouting their links through another link module, drawing links automatically, etc. All these tools usually don't take into account link attributes, meaning if you delete a link and draw it again, the link might look the same, but the link attributes are gone.

So in my experience:

Link attributes are nearly impossible for normal users to fill, except if you have some scripting support (like context menus, GUIs, menus, etc). Still they are hard to understand for the users (wait, there is an attribute on a link?) who are already struggeling with the complexity of DOORS.

On the other side they are very versatile to be used from a DXL script and enable you to implement a wide set of applications, unless you can guarantee that the rest of the tools that operate on links won't accidently delete links.

Hope that helps, best regards, Mathias

Nice discussion. Thanks.